/*
 * MyMethod.h
 *
 *  Created on: Aug 10, 2010
 *      Author: sdaniele
 */

#ifndef MYMETHOD_H_
#define MYMETHOD_H_

#include "../scheduler/method.h"
#include "../scheduler/scheduler.h"

#include <string>
#include <iostream>
#include <limits>

class MyMethod: public ::pilot::method {
public:
	MyMethod(::pilot::scheduler* s, size_t logflops, ::std::string name, ::std::string label, size_t max_depth, size_t counter = 0);
	virtual ~MyMethod();

	void operator()();
	void report() const;

private:
	::pilot::scheduler* const  m_sched;
	size_t m_logflops;
	::std::string m_name;
	::std::string m_label;
	size_t m_max_depth;
	size_t m_counter;


};

#endif /* MYMETHOD_H_ */
